1. Field of the Invention
The present invention relates to a technique for querying a spatio-temporal database by stream processing.
2. Description of Related Art
Querying a spatio-temporal database by stream processing has recently been increasing as stream processing has become widespread. An example thereof is a ratings compilation system shown in FIG. 1.
In FIG. 1, viewing information input from set top boxes (STBs) disposed in TVs in a plurality of homes from moment to moment includes a tuple {user ID (UserID), CH (channel), Time (current time)}.
An input viewing information stream is compiled into a tuple {CH, Time (current time), num (rating)} by a stream processing operator referred to as a by-channel ratings compilation 102. A stream processing operator referred to as an additional information acquisition 104 receives the tuple {CH, Time (current time), num (rating)}, queries a program database 106, shown as a program table, stored in a hard disk drive of the computer system using channel (CH) in the tuple as a key, joins the result of the query and the tuple {CH, Time (current time), num (rating)} together to generate a tuple {CH, Time (current time), num (rating), Title (program name), . . . }, and outputs the tuple. The program database 106 is also referred to as a spatio-temporal database because it includes a time field.
However, querying a spatio-temporal database from a stream processing operator in such a system needs a complicated description, such as schema mapping and SQL. An example of the description of SQL is as follows:
SELECT Title, . . . FROM Program
WHERE CH=? and Start<=CT and End>CT
//, where CT is the time stamp of a current time.
Furthermore, if real-time stream processing is required, further optimization is needed. Specifically, a database querying process that involves accessing a hard disk drive causes a bottleneck in access. However, loading data in a database into a main memory has difficulty because it consumes too much memory. Furthermore, using a cache of the database is also difficult because query parameters include a current time.
For such processes, the following conventional technique is known. First, Japanese Unexamined Patent Application Publication No. 2006-338432 discloses a stream-data processing system that provides a mechanism for replicating part or all of stream data and archiving the replication into a non-volatile storage means medium to allow the real-time data and the archive data to be used seamlessly and a mechanism for connecting a plurality of stream-data processing systems to enhance the performance of a query process.
Japanese Unexamined Patent Application Publication No. 2007-328716 discloses a method for reducing the number of accesses to a database to enhance the performance by providing a stream predict cache, which is a hierarchical cache of relation data that can be predicted as a target to be compared with stream data.
Japanese Unexamined Patent Application Publication No. 2011-28658 discloses a database unit that tracks the latest cache entry in a cache with a cache tracker of a cache device, records the cache entry on a cache management table, and if a base-table updating process occurs, identifies data that is influenced by the base-table updating process, on the base table present in the cache, transmits a message to abandon the cache entry of the identified data to the cache device, in which the cache device discards the cache entry in the cache designated by the discard message.
Mohamed F. Mokbel, Xiaopeng Xiong, Walid G. Aref, Susanne E. Hambrusch, Sunil Prabhakar, and Moustafa A. Hammad, “PLACE: a query processor for handling real-time spatio-temporal data streams”, VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases—Volume 30 Pages 1377-1380 describes a technique for implementing spatio-temporal data for searching for an object included in a certain area.
T. Y. Cliff Leung, and Richard R. Muntz, “Generalized data stream indexing and temporal query processing”, Research Issues on Data Engineering, 1992: Transaction and Query Processing, Second International Workshop on Feb.-Mar. 2, 1992, Pages 124-131 describes a proposal for building an index for implementing various kinds of joining of spatio-temporal data.
However, these conventional techniques do not suggest solving the problem of performance in querying a spatio-temporal database from a stream processing operator.